Content engine for mobile communications systems

ABSTRACT

An exemplary content engine includes a content gateway configured to analyze and route content requests to a content server. The content server can be a cache server or a mobile content server. The cache server can be configured to receive and store cacheable web content from a controller that is configured to receive the cacheable web content from at least one cacheable web content provider, such as a web server, and route the content to the cache server. The mobile content server can be configured to receive, from the controller, and store the digital media content. The controller can be further configured to receive the digital media content from at least one external content server and route the content to the mobile content server. The content gateway can be further configured to receive non-cacheable web content from at least one non-cacheable web content provider.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.11/752,199, now U.S. Pat. No. 7,756,130 filed May 22, 2007, the entiretyof which is herein incorporated by reference.

TECHNICAL FIELD

The present invention relates generally to content provisioning. Moreparticularly, the present invention relates to content provisioning viaan intra-network content engine in a wireless communications network.

BACKGROUND OF THE INVENTION

The recent deployment of 3G networks has made a wide array of contenttypes available to wireless subscribers. Multimedia content, such asmusic, games, and movies, and content rich websites and webapplications, create an abundance of network traffic between a contentprovider residing outside of the wireless operator's network and thecore and access subsystems of the network. The interfaces used forcommunication between the external content providers and the operator'snetwork are inefficient and incapable of providing end-to-end quality ofservice (QoS) for content requests. As such, the operator's network isused as an intermediary to deliver content to subscribers. This placesan inordinate amount of traffic load on the network systems. Moreover,the need to send and resend the same content for multiple subscribersplaces additional strain on network resources.

In addition, external content providers target general users and cannotproperly consider and adapt content to a format conducive to mobiledevices in general, let alone a format configured specifically for aparticular mobile device.

Thus, what is needed are new systems and novel methods to optimizecontent provisioning to mobile subscribers, to minimize the amount ofdata traversing the operator's network at any given time and, toincrease the overall system response time. As will be seen by thefollowing description, such new systems and novel methods allow mobilesubscribers to experience less latency, better QoS, and increasedthroughput, resulting in better content presentation. Wireless operatorscan also benefit by reduced expense associated with less redundantcapacity, simpler operation and easier maintenance associated with thepresent invention, as well as becoming the true content provider insteadof an intermediary. Content providers also benefit from increased usageof their content.

SUMMARY OF THE INVENTION

The aforementioned deficiencies are overcome by providing anintra-network content engine for processing content requests from aplurality of mobile devices. An exemplary intra-network content engineincludes a content gateway configured to analyze and route contentrequests to a content server. The content server can be a cache serveror a mobile content server. The cache server can be configured toreceive and store cacheable web content from a controller that isconfigured to receive the cacheable web content from at least onecacheable web content provider, such as a web server, and route thecontent to the cache server. The mobile content server can be configuredto receive and store the digital media content. The controller can befurther configured to receive the digital media content from at leastone external content server and route the content to the mobile contentserver. The content gateway can be further configured to receivenon-cacheable web content from at least one non-cacheable web contentprovider.

An exemplary method for content provisioning via the intra-networkcontent engine includes the steps of receiving a content request;analyzing the content request to determine to which content server thecontent request should be routed, wherein the content server is one of acache server and a mobile content server; routing the content request tothe cache server, if the requested content is cacheable web content;routing the content request to the mobile content server, if therequested content is digital media content; routing the content requestto a non-cacheable web content provider, if the requested content isnon-cacheable web content; retrieving the requested content from theappropriate source; and sending the requested content to the requestingmobile device.

A computer-readable medium that includes computer-executableinstructions which, when executed, perform the steps of the foregoingmethod is also provided.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary communications system in accordance withan embodiment of the present invention.

FIG. 2 illustrates an exemplary content engine in accordance with anembodiment of the present invention.

FIG. 3 illustrates an exemplary methodology for processing a contentrequest by the exemplary content engine of FIG. 2, according to thepresent invention.

DETAILED DESCRIPTION OF THE INVENTION

As required, detailed embodiments of the present invention are disclosedherein. It must be understood that the disclosed embodiments are merelyexemplary of the invention that may be embodied in various andalternative forms, and combinations thereof. As used herein, the word“exemplary” is used expansively to refer to embodiments that serve as anillustration, specimen, model or pattern. The figures are notnecessarily to scale and some features may be exaggerated or minimizedto show details of particular components. In other instances, well-knowncomponents, systems, materials or methods have not been described indetail in order to avoid obscuring the present invention. Therefore,specific structural and functional details disclosed herein are not tobe interpreted as limiting, but merely as a basis for the claims and asa representative basis for teaching one skilled in the art to variouslyemploy the present invention.

Referring now to the drawings wherein like numerals represent likeelements throughout the several views, FIG. 1 illustrates acommunications network 100 in which the present invention may beimplemented. Multiple access network types may be used to access contentprovided by a content engine 102 in accordance with various embodimentsof the present invention. By way of example and not limitation, theillustrated access network types include a GSM/EDGE Radio Access Network(GERAN) 104, a UMTS Terrestrial RAN (UTRAN) 106, a Wireless LAN accesssystem (WLAN) 108, and a Long term Evolution access (LTE) system 110.Corresponding mobile devices 112 are illustrated as being incommunication with the various access networks.

The GERAN 104 and UTRAN 106 are illustrated as being in communicationwith a GPRS core network 114 that may be further configured with aninter-network function 116 to facilitate communication with the WLAN108. The WLAN 108 is also in communication with a System ArchitectureEvolution (SAE) core 118 that in turn in communication with an IMS (IPMultimedia Subsystem) core 120 and the LTE access system 110. The IMScore 120 is also in communication with the GPRS core network 114.

The GPRS core network 114, IMS core 120 and SAE core 118 are each incommunication with one or more corporate content servers 122. Acorporate content server 122 can provide operator-originated content;that is, content that does not originate from an external contentprovider. For example, proprietary ringtones, music files, videos andthe like may be provided by a corporate content server 122. Althoughillustrated as a separate network element, the corporate contentserver(s) 122 may be included in the content engine 102.

The GPRS core network 114 and SAE core 118 are also in communicationwith the content engine 102 that in turn is in communication, via afirewall 124, with external content providers 126. As illustrated, theexternal content providers 126 can provide non-cacheable and cacheableweb content, such as websites and web applications, and other content.Other content can include digital media content, for example, e-books,ringtones, ringback tones, music files, video files, movies, videogames, news feeds (e.g., via RSS (Real Simple Syndication)), sportsscore feeds, weather, and other content made available via one or moreexternal content providers.

The content engine 102 is also in communication with other non-3GPPsystems 132, in which the present invention may also be practiced. Thecontent engine 102 is now described below with reference to FIG. 2.

FIG. 2 illustrates a content engine 102 in accordance with an exemplaryembodiment of the present invention. The illustrated content engine 102includes a controller 200, a cache server 202, a content format modifier204, a content gateway 206, and a mobile content server 208. Thefunctionality of each of these elements is described below in detail.

The controller 200 provides gateway functionality to contentprovisioning systems, such as the external content providers 126. Thecontroller 200 may include the firewall 124 and may perform filteringfunctions in accordance with filtering parameters determined by theoperator. The controller 200 is also configured to route content withinthe engine to the appropriate processing components.

To the external content providers 126, the controller 200 performsclient functions to cache websites and load content. In certainimplementations, it may be beneficial to provide formatted content for amobile device type or specific device configuration. In theseimplementations, the controller 200 can route content to the contentformat modifier 204 for reformatting content to adhere to specificationsof the requesting mobile device. Afterwards, the reformatted content canbe sent to the mobile content server 208 and stored. Content that doesnot need to be reformatted can be sent directly to the mobile contentserver 208.

For cacheable websites, the controller 200 forwards the content to thecache server 202 to be cached. From the mobile device perspective, thecontroller 200 may be invisible and the content provided to the mobiledevice may be presented as it would if the content was delivereddirectly from the original content provider.

Web content that is updated or refreshed may be done so automatically orbased upon a schedule maintained by the controller or the cache server.These setting may be configured by the operator or by the client device.

The cache server 202 is configured to function as a website server forcacheable web content. Cacheable content is received by the controller200 and forwarded to the cache server 202 for storage. The cache server202 provides pre-caching of web content in an effort to reduce latencyand improve access time for the mobile devices 112.

The content gateway 206 may be configured to determine if incomingcontent should or should not be cached. By way of example, content sentfrom virtual private networks (VPN), such as in many enterpriseapplications, are not cacheable. Private data, such as that exchanged inweb sessions with bank accounts or personal email accounts are otherexamples of non-cacheable content.

In one embodiment, the content gateway 206 can be configured to storeand maintain a lookup table of the current cache in the cache server202. Likewise, the cache server 202 may be configured to send updates tothe content gateway 206 on an as-needed or periodic basis to update thelookup table. The content gateway 206 may also store a record of allcontent requests and may itself request that specific websites becached; for example, if access to a website exceeds a pre-determinedthreshold value, then a request may be sent to the cache serverrequesting that the website be cached for future use. Either or both ofthe content gateway 206 and the cache server 202 may be configured witha plurality of rules to determine if a website is cacheable and if awebsite needs to be cached, based upon previous usage data, for example.Generally, the caching rules can be developed based upon the businessneeds of the mobile operator.

The mobile content server 208 is the digital media content server to thenetwork subscribers. The digital media content received from theexternal content providers is formatted (if necessary) and readied to besent to the mobile device 112 via the content gateway 206 upon request.Maintaining all content within the operator's network as opposed to theoperator substituting as an intermediary between the end user and thecontent provider allows the mobile operator to provide content with lesslatency, better QoS, and increased throughput, resulting in bettercontent presentation

The content gateway 206 provides an interface to the packet corenetwork. For 3GPP applications, such as the illustrated embodiment, theGi interface is used. The content gateway 206 receives requests frommobile devices and routes the request to the mobile content server 208for content such as ringtone, music, or videos. For cacheable content,the requests are routed to the cache server 202. The content gateway 206also routes the requested content to the mobile devices 112 from theseelements.

The content gateway 206 may also be configured with firewall and/orfiltering functions to reduce potential contamination of the contentbeing exchanged between the content engine 102 and the mobile devices112, and to reduce the likelihood of a security breach.

The content gateway 206 may be further configured to steer traffic bymaintaining an index of all available websites, applications, andindividual content currently or scheduled to be available from the cacheserver 202 and/or mobile content server 208. Lookup tables for the cacheserver 202 and/or the mobile content server 208 may provide thisinformation. The lookup tables may be updated by the host server (i.e.,either the cache server 202 or the mobile content server 208) viaperiodic updates or as-needed.

Service management functions 210 and administrative functions 212 arealso in communication with the content engine 102. Service managementfunctions can include, but are not limited to, maintaining licensingagreements for copyright protected content. Administrative functions 212can include content engine 102 software, hardware, or firmware upgrades,and account management features, such as account creation, accountclosure, and communication with the operator's billing system to billfor billable content.

Referring now to FIG. 3, a flow diagram of an exemplary method forprovisioning content via an inter-network content engine, such ascontent engine 202, is illustrated. The method 300 begins and proceedsto step 302 wherein a content request is received at the content gateway206. The content gateway 206 can determine, based upon information inthe content request, the type of content that is being requested. Moreparticularly, whether the content is web content, or other content, suchas a digital media content. This determination is illustrated as step304.

If it is determined that the content is web content, flow proceeds tostep 306 wherein a determination is made as to whether the web contentis cached. If the content is not cached, flow proceeds to step 308wherein a determination is made as to whether the web content iscacheable. This determination may be made by processing the request inaccordance with a plurality of rules to determine if the content iscacheable. Moreover, historical data such as provided by lookup tablerecords may be used to aid in this determination.

If it is determined that the content is not cacheable, flow proceeds tostep 310 wherein the requested content is retrieved from the externalcontent provider 126 associated with the requested content. For example,the external content provider 126 may be a bank account server thatcontains personal data that should not be cached. The content gateway206 then sends the requested content to the requesting mobile device 112at step 312. If, however, it is determined that the content iscacheable, the content gateway 206 forwards the content request to thecontroller 200 at step 314. The controller 200 can then retrieve thecontent and send the content to the content gateway 206 at step 316. Thecontent gateway 206 can forward the content to the requesting mobiledevice 112 at step 312.

If the content is cached, as determined in step 306, the content gateway206 can forward the content request to the cache server 202 at step 318.The content gateway 206 receives the content from the cache server 202at step 320 and forwards the content to the requesting mobile device 112at step 312.

If it is determined at step 304 that the content request type is forother content, the flow proceeds to step 322 and the content gateway 206retrieves the requested content from the mobile content server 208. Therequest may include a device type or other device specifications forwhich the requested content is to be formatted. By way of example andnot limitation, this information may be provided via an InternationalMobile Equipment Identity (IMEI) or by at least one of the make, model,and revision of the mobile device. The mobile content server 208 may beconfigured to store a plurality of different configurations for thestored content, such as the most often used format types. In thisembodiment, the mobile content server 208 could retrieve theappropriately formatted content and return it to the content gateway206. The content gateway 206 then forwards the content to the requestingmobile device 112 at step 312.

The law does not require and it is economically prohibitive toillustrate and teach every possible embodiment of the present claims.Hence, the above-described embodiments are merely exemplaryillustrations of implementations set forth for a clear understanding ofthe principles of the invention. Variations, modifications, andcombinations may be made to the above-described embodiments withoutdeparting from the scope of the claims. All such variations,modifications, and combinations are included herein by the scope of thisdisclosure and the following claims.

What is claimed is:
 1. A method comprising: receiving, at a contentengine and from a mobile device, a request for content; determining ifaccess to the content has exceeded a threshold value; retrieving, ifaccess to the content has not exceeded the threshold value, the contentin response to the request; modifying, at a content format modifier ofthe content engine and by utilizing instructions from a memory that areexecuted by a processor, the content based on specifications of themobile device to create modified content formatted for the mobiledevice, wherein the specifications are associated with one of a hardwarecomponent, a software component, and a firmware component of the mobiledevice, and wherein the specifications are identified by a make of themobile device, a firmware version of the mobile device, and a revisionnumber of the mobile device; and sending the modified content to themobile device, wherein the modified content is sent to the mobile devicebased in part on an index of available content.
 2. The method of claim1, wherein the content is associated with one of cached web contentstored in a cache server of the content engine, non-cacheable webcontent provided by a non-cacheable web content provider that is incommunication with the content engine, and digital media content storedin a digital media content server of the content engine.
 3. The methodof claim 2, further comprising: analyzing the request to determine towhich of the digital media content server, the cache server, and thenon-cacheable web content provider the request should be routed; androuting the request to one of the digital media content server, thecache server, and the non-cacheable web content provider based upon theanalysis.
 4. The method of claim 3, further comprising analyzing therequest to determine where the request should be routed by comparing thecontent to a lookup table, which is stored within the content engine andis indicative of the cached web content stored in the cache server, todetermine if the content is cached in the cache server.
 5. The method ofclaim 4, further comprising updating, by utilizing the cache server, thelookup table to reflect changes to cache server content stored by thecache server.
 6. The method of claim 3, further comprising analyzing therequest, based on a rule, to determine where the request should berouted.
 7. The method of claim 6, wherein the rule is a caching rulethat defines which type of content of a plurality of content types thecontent engine should cache in the cache server.
 8. A content engine,comprising: a memory that stores instructions; a processor that executesthe instructions to perform operations, the operations comprising:receiving, by utilizing a content gateway of the content engine, arequest for content from a mobile device; determining if access to thecontent has exceeded a threshold value; retrieving, if access to thecontent has not exceeded the threshold value, content in response to therequest, wherein the content is retrieved by utilizing the contentgateway; modifying, by utilizing a content format modifier of thecontent engine, the content based on specifications of the mobile deviceto create modified content formatted for the mobile device, wherein thespecifications are associated with a hardware component, a softwarecomponent, and a firmware component of the mobile device, and whereinthe specifications are identified by a make of the mobile device, afirmware version of the mobile device, and a revision number of themobile device; and sending the modified content to the content gatewayfor delivery to the mobile device, wherein the modified content is sentto the mobile device based in part on an index of available content. 9.The content engine of claim 8, wherein the content is associated withone of cached web content stored in a cache server, non-cacheable webcontent provided by a non-cacheable web content provider that is incommunication with the content engine, and digital media content storedin a digital media content server.
 10. The content engine of claim 9,wherein the cache server and the digital media content server arecomponents of the content engine.
 11. The content engine of claim 9,wherein the operations further comprise: analyzing, by utilizing thecontent gateway, the request to determine to which of the digital mediacontent server, the cache server, and the non-cacheable web contentprovider the request should be routed; and routing, by utilizing thecontent gateway, the request to one of the digital media content server,the cache server, and the non-cacheable web content provider based uponthe analysis.
 12. The content engine of claim 11, wherein the operationsfurther comprise analyzing the request to determine where the requestshould be routed by comparing the content to a lookup table, which isstored within the content engine and is indicative of the cached webcontent stored in the cache server, to determine if the content iscached in the cache server.
 13. The content engine of claim 12, whereinthe operations further comprise updating, by utilizing the cache server,the lookup table to reflect changes to cache server content stored bythe cache server.
 14. The content engine of claim 11, wherein theoperations further comprise analyzing, based on a rule, the request todetermine where the content request should be routed.
 15. The contentengine of claim 14, wherein the rule is a caching rule that defineswhich type of content of a plurality of content types the content engineshould cache in the cache server.
 16. A non-transitory computer-readablemedium of a content engine comprising computer-executable instructions,which, when loaded and executed by a processor, cause the processor toperform operations, the operations comprising: receiving a request forcontent from a mobile device; determining if access to the content hasexceeded a threshold value; retrieving, if access to the content has notexceeded the threshold value, the content in response to the request;modifying the content based on specifications of the mobile device tocreate modified content formatted for the mobile device, wherein thespecifications are associated with a hardware component, a softwarecomponent, and a firmware component of the mobile device, and whereinthe specifications are identified by a make of the mobile device, afirmware version of the mobile device, and a revision number of themobile device; and sending the modified content to the mobile device,wherein the modified content is sent to the mobile device based in parton an index of available content.
 17. The non-transitorycomputer-readable medium of claim 16, wherein the content is associatedwith one of cached web content stored in a cache server of the contentengine, non-cacheable web content provided by a non-cacheable webcontent provider that is in communication with the content engine, anddigital media content stored in a digital media content server of thecontent engine.
 18. The non-transitory computer-readable medium of claim17, wherein the operations further comprise: analyzing the request todetermine to which of the digital media content server, the cacheserver, and the non-cacheable web content provider the request should berouted; and routing the request to one of the digital media contentserver, the cache server, and the non-cacheable web content providerbased upon the analysis.
 19. The non-transitory computer-readable mediumof claim 17, wherein the operations further comprise: analyzing therequest to determine where the content request should be routed;comparing the content to a lookup table, which is stored within thecontent engine and is indicative of the cached web content stored in thecache server, to determine if the content is cached in the cache server.20. The non-transitory computer-readable medium of claim 16, wherein theoperations further comprise determining if the content is cached,wherein the operations further comprise determining if the content iscacheable if the content is determined to not be cached, and wherein theoperations further comprise determining that the content is cacheablebased on historical data provided by a lookup table.